.\"   $Id: simplifDcOneBdd.3,v 1.1 2002/04/03 13:13:26 ludo Exp $
.\" @(#)simplifDcZeroBdd.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
.TH SIMPLIFDCONEBDD 3 "October 1, 1997" "ASIM/LIP6" "BDD functions"
.so man1/alc_origin.1
.SH NAME
\fBsimplifDcOneBdd\fP \- simplifies a BDD with don't cares on its on-set part
.SH SYNOPSIS
.nf
#include "logmmm.h"
pNode simplifDcOneBdd(pBdd1,pBdd2)
pNode pBdd1;
pNode pBdd2;
.fi
.SH PARAMETERS
.TP 20
\fIpBdd1\fP
BDD to simplify
.TP 20
\fIpBdd2\fP
"don't care" function
.SH DESCRIPTION
\fBsimplifDcOneBdd()\fP simplifies \fIpBdd1\fP with \fIpBdd2\fP. \fIpBdd2\fP must be included imperatively in the on-set part of pBdd1. This function returns a BDD that depends to the order of the BDD. 
.SH EXAMPLE
.nf
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB;
pNode res,res1,res2;

initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
res1 = applyBinBdd(XOR,nodeA,nodeB);		/* res1 = (XOR a b) */
res2 = applyBinBdd(AND,notBdd(nodeA),nodeB);	/* res2 = (AND (not a) b) */
res = simplifDcOneBdd(res1,res2);	/* res1 and res2 = res2 */

/* res = (AND a (not b)) */
	
destroyBdd(1);
.fi
.SH SEE ALSO
.BR log (1),
.BR bdd (1),
.BR simplifDcZeroBdd (3),
.BR constraintBdd (3),
.BR composeBdd (3),
.BR upVarBdd (3).

.so man1/alc_bug_report.1

